const User = require("../model/User");
const JWT = require("jsonwebtoken");
let str = "fswerwerq23etrdty342";
async function getUserInfo(req, res, next) {
  try {
    // 获取token
    const token = req.headers["authorization"].replace("Bearer ", ""); //没有token，有错误
    // console.log(token);
    // console.log(token);
    // 解析token
    const userInfo = JWT.verify(token, str); //过期了，也会报错

    // 处理用户信息
    const user = await User.findById(userInfo._id, {
      password: false,
      img: false
    });

    if (user) {
      //登录未过期
      req.userInfo = user;

      next();
    } else {
      //该用户信息不存在了
      res.status(400).json({
        msg: "登录失败"
      });
    }
  } catch (error) {
    //token过期了，需要重新登录
    res.status(400).json({
      msg: "请重新登录"
    });
  }
}

module.exports = getUserInfo;